package com.mf.domain.authority;

import com.mf.domain.AutoFill;
import com.mf.domain.ExtColumn;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.Column;
import java.util.Date;
import java.io.Serializable;

/**
 * 用户信息Domain
 * User: zhaoming
 * Date: 2017-05-09
 * To change this template use File | Settings | File Templates.
 **/
@Entity
@Table(name="authority_user_info")
public class UserInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Id
    private Long id;
    /**
     * 用户头像ID
     */
    @Column
    private Long userPortraitId;
    /**
     * 用户编码
     */
    @Column
    private String userCode;
    /**
     * 用户名称
     */
    @Column
    private String userName;
    /**
     * 密码
     */
    @Column
    private String passWord;
    /**
     * 是否支持短信提醒(0:不支持;1:支持)
     */
    @Column
    private Integer isPhoneAlert;
    /**
     * 电话
     */
    @Column
    private String phone;
    /**
     * 是否支持邮件提醒(0:不支持;1:支持)
     */
    @Column
    private Integer isEmailAlert;
    /**
     * 邮箱
     */
    @Column
    private String email;
    /**
     * 版本号
     */
    @Column
    @AutoFill(ExtColumn.VERSION)
    private Integer version;
    /**
     * 创建人
     */
    @Column
    @AutoFill(ExtColumn.CREATE_USER)
    private String createUser;
    /**
     * 创建时间
     */
    @Column
    @AutoFill(ExtColumn.CREATE_TIME)
    private Date createTime;
    /**
     * 创建时间/起(虚拟字段：用于时间段查询)
     */
    private String createTimeBegin;
    /**
     * 创建时间/止(虚拟字段：用于时间段查询)
     */
    private String createTimeEnd;
    /**
     * 修改人
     */
    @Column
    @AutoFill(ExtColumn.UPDATE_USER)
    private String updateUser;
    /**
     * 修改时间
     */
    @Column
    @AutoFill(ExtColumn.UPDATE_TIME)
    private Date updateTime;
    /**
     * 修改时间/起(虚拟字段：用于时间段查询)
     */
    private String updateTimeBegin;
    /**
     * 修改时间/止(虚拟字段：用于时间段查询)
     */
    private String updateTimeEnd;
    /**
     * 逻辑标识（1：有效，0：无效）
     */
    @Column
    private Integer yn;
    /**
     * 用户头像
     */
    private UserPortrait userPortrait;

    /**
     * 获取主键
     * @return 主键
     */
    public Long getId() {
        return id;
    }

    /**
     * 主键设置
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取用户头像ID
     * @return 用户头像ID
     */
    public Long getUserPortraitId() {
        return userPortraitId;
    }

    /**
     * 用户头像ID设置
     * @param userPortraitId 用户头像ID
     */
    public void setUserPortraitId(Long userPortraitId) {
        this.userPortraitId = userPortraitId;
    }

    /**
     * 获取用户编码
     * @return 用户编码
     */
    public String getUserCode() {
        return userCode;
    }

    /**
     * 用户编码设置
     * @param userCode 用户编码
     */
    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    /**
     * 获取用户名称
     * @return 用户名称
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 用户名称设置
     * @param userName 用户名称
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * 获取密码
     * @return 密码
     */
    public String getPassWord() {
        return passWord;
    }

    /**
     * 密码设置
     * @param passWord 密码
     */
    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    /**
     * 获取是否支持短信提醒(0:不支持;1:支持)
     * @return 是否支持短信提醒(0:不支持;1:支持)
     */
    public Integer getIsPhoneAlert() {
        return isPhoneAlert;
    }

    /**
     * 是否支持短信提醒(0:不支持;1:支持)设置
     * @param isPhoneAlert 是否支持短信提醒(0:不支持;1:支持)
     */
    public void setIsPhoneAlert(Integer isPhoneAlert) {
        this.isPhoneAlert = isPhoneAlert;
    }

    /**
     * 获取电话
     * @return 电话
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 电话设置
     * @param phone 电话
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }

    /**
     * 获取是否支持邮件提醒(0:不支持;1:支持)
     * @return 是否支持邮件提醒(0:不支持;1:支持)
     */
    public Integer getIsEmailAlert() {
        return isEmailAlert;
    }

    /**
     * 是否支持邮件提醒(0:不支持;1:支持)设置
     * @param isEmailAlert 是否支持邮件提醒(0:不支持;1:支持)
     */
    public void setIsEmailAlert(Integer isEmailAlert) {
        this.isEmailAlert = isEmailAlert;
    }

    /**
     * 获取邮箱
     * @return 邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 邮箱设置
     * @param email 邮箱
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * 获取版本号
     * @return 版本号
     */
    public Integer getVersion() {
        return version;
    }

    /**
     * 版本号设置
     * @param version 版本号
     */
    public void setVersion(Integer version) {
        this.version = version;
    }

    /**
     * 获取创建人
     * @return 创建人
     */
    public String getCreateUser() {
        return createUser;
    }

    /**
     * 创建人设置
     * @param createUser 创建人
     */
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    /**
     * 获取创建时间
     * @return 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间设置
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取创建时间/起(虚拟字段：用于时间段查询)
     * @return 创建时间/起
     */
    public String getCreateTimeBegin() {
        return createTimeBegin;
    }

    /**
     * 创建时间/起设置(虚拟字段：用于时间段查询)
     * @param createTimeBegin 创建时间/起
     */
    public void setCreateTimeBegin(String createTimeBegin) {
        this.createTimeBegin = createTimeBegin;
    }

    /**
     * 获取创建时间/止(虚拟字段：用于时间段查询)
     * @return 创建时间/止
     */
    public String getCreateTimeEnd() {
        return createTimeEnd;
    }

    /**
     * 创建时间/止设置(虚拟字段：用于时间段查询)
     * @param createTimeEnd 创建时间/止
     */
    public void setCreateTimeEnd(String createTimeEnd) {
        this.createTimeEnd = createTimeEnd;
    }
    /**
     * 获取修改人
     * @return 修改人
     */
    public String getUpdateUser() {
        return updateUser;
    }

    /**
     * 修改人设置
     * @param updateUser 修改人
     */
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    /**
     * 获取修改时间
     * @return 修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 修改时间设置
     * @param updateTime 修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取修改时间/起(虚拟字段：用于时间段查询)
     * @return 修改时间/起
     */
    public String getUpdateTimeBegin() {
        return updateTimeBegin;
    }

    /**
     * 修改时间/起设置(虚拟字段：用于时间段查询)
     * @param updateTimeBegin 修改时间/起
     */
    public void setUpdateTimeBegin(String updateTimeBegin) {
        this.updateTimeBegin = updateTimeBegin;
    }

    /**
     * 获取修改时间/止(虚拟字段：用于时间段查询)
     * @return 修改时间/止
     */
    public String getUpdateTimeEnd() {
        return updateTimeEnd;
    }

    /**
     * 修改时间/止设置(虚拟字段：用于时间段查询)
     * @param updateTimeEnd 修改时间/止
     */
    public void setUpdateTimeEnd(String updateTimeEnd) {
        this.updateTimeEnd = updateTimeEnd;
    }
    /**
     * 获取逻辑标识（1：有效，0：无效）
     * @return 逻辑标识（1：有效，0：无效）
     */
    public Integer getYn() {
        return yn;
    }

    /**
     * 逻辑标识（1：有效，0：无效）设置
     * @param yn 逻辑标识（1：有效，0：无效）
     */
    public void setYn(Integer yn) {
        this.yn = yn;
    }

    public UserPortrait getUserPortrait() {
        return userPortrait;
    }

    public void setUserPortrait(UserPortrait userPortrait) {
        this.userPortrait = userPortrait;
    }
}
